main() {
  // new的时候会默认执行构造函数(new关键字可以省略)
  var user1 = Person.info('张三',18);
  var user2 = new Person.info('李四',19);
  print({user1.uname,user1.age});
  print({user2.uname,user2.age});
}
// 1.构造函数的基本用法：
// class Person {
//   //  构造函数：必须和类同名
//   Person(String uname) {
//     print('我被new了');
//     // 让实例对象的name属性值等于传递的值
//     this.uname = uname;
//   }
//   String uname = '';
// }
// 2.构造函数的进阶用法：
// class Person {
//   //  构造函数：必须和类同名
//   // 简写的意义：this.uname接收传递的值
//   Person(this.uname,this.age); 
//   String uname = '';
//   int age = 0;
// }
// 3.构造函数起别名
class Person {
  //  构造函数：必须和类同名
  //  起别名的方案：类名.新别名(),实例化的时候也得用类名.新别名()
   Person.info(this.uname,this.age); 
  String uname = '';
  int age = 0;
}

// 练习：通过定义手机的类->iphone18